package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.Page;
import org.footballmanager.pandafootball.system.domain.Person;

import java.io.IOException;
import java.util.List;

public interface PersonService extends BaseService<Person> {
    /**
     * 根据状态和条目数获取数据
     *
     * @param status 状态
     * @param limit  条目数
     * @return 信息列表
     */
    List<Person> getStatusAndNumber(int status, int limit);

    /**
     * 根据状态和条目数获取数据
     *
     * @param status 状态
     * @param limit  条目数
     * @return 信息列表
     */
    List<Page> getPageStatusAndNumber(int status, int limit);

    /**
     * 定时任务获取球员头像图片
     */
    void getImage();

    /**
     * 定时任务获取球员信息
     */
    void getPerson();

    /**
     * 定时任务处理页码并获取球员url
     */
    void processPage();

    /**
     * 一次性写入表格需要爬取数据的页码
     *
     * @param basePage 基页
     * @param start    开始页码
     * @param end      结束页码
     */
    void getPage(String basePage, Integer start, Integer end);

    /**
     * 处理没有爬到的球员
     *
     * @param filename 文件名
     * @return 是否成功
     * @throws IOException 异常
     */
    boolean readTotalfile(String filename) throws IOException;

    /**
     * 处理图像地址
     *
     * @param baseUrl 地址
     * @param suffix  后缀
     */
    void processImageUrl(String baseUrl, String suffix);
}
